Source:SLASH'EM 0.0.7E7F2/tech.h
Below is the full text to tech.h from the source code of SLASH'EM 0.0.7E7F2. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/tech.h#line123]], for example. The latest source code for vanilla NetHack is at Source code. 1. /* SCCS Id: @(#)tech.h 3.2 98/Oct/30 */ 2. /* Original Code by Warren Cheung */ 3. /* Copyright 1986, M. Stephenson */ 4. /* NetHack may be freely redistributed. See license for details. */ 5. 6. #ifndef TECH_H 7. #define TECH_H 8. 9. /* An array of this struct holds your current techs */ 10. struct tech { 11. int t_id; /* tech id 12. * Unique number for the tech 13. * see the #defines below 14. */ 15. xchar t_lev; /* power level 16. * This is the level 17. * you were when you got the tech 18. */ 19. 20. int t_tout; /* timeout - time until tech can be 21. * used again 22. */ 23. int t_inuse; /* time till effect stops 24. */ 25. long t_intrinsic; /* Source(s) */ 26. #define OUTSIDE_LEVEL TIMEOUT /* Level "from outside" started at */ 27. }; 28. 29. struct innate_tech { 30. schar ulevel; /* gains tech at level */ 31. short tech_id; /* the tech unique ID*/ 32. int tech_lev; /* starts at level */ 33. }; 34. 35. struct blitz_tab { 36. const char *blitz_cmd; /* the typed command */ 37. const int blitz_len; /* The length of blitz_cmd */ 38. int NDECL((*blitz_funct)); /* function called when the command is executed */ 39. const int blitz_tech; /* the tech designation - determines tech needed 40. * to access this blitz and the name of the blitz 41. */ 42. const int blitz_type; /* the type of blitz chain */ 43. #define BLITZ_START 0 /* Starts the chain */ 44. #define BLITZ_CHAIN 1 /* Goes anywhere in the chain (usually middle) */ 45. #define BLITZ_END 2 /* Finishes the chain */ 46. }; 47. 48. 49. #define NO_TECH 0 50. #define T_BERSERK 1 51. #define T_KIII 2 52. #define T_RESEARCH 3 53. #define T_SURGERY 4 54. #define T_REINFORCE 5 55. #define T_FLURRY 6 56. #define T_PRACTICE 7 57. #define T_EVISCERATE 8 58. #define T_HEAL_HANDS 9 59. #define T_CALM_STEED 10 60. #define T_TURN_UNDEAD 11 61. #define T_VANISH 12 62. #define T_CUTTHROAT 13 63. #define T_BLESSING 14 64. #define T_E_FIST 15 65. #define T_PRIMAL_ROAR 16 66. #define T_LIQUID_LEAP 17 67. #define T_CRIT_STRIKE 18 68. #define T_SIGIL_CONTROL 19 69. #define T_SIGIL_TEMPEST 20 70. #define T_SIGIL_DISCHARGE 21 71. #define T_RAISE_ZOMBIES 22 72. #define T_REVIVE 23 73. #define T_WARD_FIRE 24 74. #define T_WARD_COLD 25 75. #define T_WARD_ELEC 26 76. #define T_TINKER 27 77. #define T_RAGE 28 78. #define T_BLINK 29 79. #define T_CHI_STRIKE 30 80. #define T_DRAW_ENERGY 31 81. #define T_CHI_HEALING 32 82. #define T_DISARM 33 83. #define T_DAZZLE 34 84. #define T_BLITZ 35 85. #define T_PUMMEL 36 86. #define T_G_SLAM 37 87. #define T_DASH 38 88. #define T_POWER_SURGE 39 89. #define T_SPIRIT_BOMB 40 90. #define T_DRAW_BLOOD 41 91. 92. #define MAXTECH 41 93. 94. 95. #endif /* TECH_H */ tech.h